package com.his.his_system.domain;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Router {
    /**
     * 路由唯一ID
     */
    private String id;

    /**
     * 路由中文显示
     */
    private String label;

    /**
     * 设定路由的名字，一定要填写不然使用<keep-alive>时会出现各种问题
     */
    private String name;

    /**
     * 一级路由路径
     */
    private String path;

    /**
     * 包含组件 默认 Layout 以 # 代替
     */
    private String component;



    /**
     * 你可以在根路由设置权限，这样它下面所有的子路由都继承了这个权限
     */
    private Meta meta;

    /**
     * 子路由
     */
    private List<Router> children;


    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public static class Meta {
        /**
         * 设置该路由在侧边栏和面包屑中展示的名字
         */
        private String title;

        /**
         * 设置该路由的图标，支持 svg-class，也支持 el-icon-x element-ui 的 icon
         */
        private String icon;

        /**
         * 如果设置为true，则不会被 <keep-alive> 缓存(默认 false)
         */
        private boolean noCache;

        /**
         * 如果设置为false，则不会在breadcrumb面包屑中显示(默认 true)
         */
        private boolean breadcrumb;

        /**
         * 如果设置为true，它则会固定在tags-view中(默认 false)
         */
        private boolean affix;

        /**
         * 当路由设置了该属性，则会高亮相对应的侧边栏。
         * 这在某些场景非常有用，比如：一个文章的列表页路由为：/article/list
         * 点击文章进入文章详情页，这时候路由为/article/1，但你想在侧边栏高亮文章列表的路由，就可以进行如下设置
         */
        private String activeMenu;
    }


}
